package com.jinmdz.fmis.api.api.model.cremation.certificate;

import com.jinmdz.fmis.common.annotation.AnValidate;
import com.jinmdz.fmis.common.constant.EValidateCode;
import com.jinmdz.fmis.core.base.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 火化证打印保存请求实体
 *
 * @author GuanKui
 * @date 2020/2/19 11:32
 */
@ApiModel(value = "火化证打印保存请求实体", description = "火化证打印保存请求实体")
public class CremationCertificatePrintingSaveData extends BaseBean {

    /**
     * 业务编码
     */
    @AnValidate(name = "业务编码", required = true)
    @ApiModelProperty(value = "业务编码", name = "businessCode", position = 1)
    private String businessCode;

    /**
     * 逝者家属外键
     */
    @AnValidate(name = "逝者家属外键", required = true, code = EValidateCode.GREATER_ZERO)
    @ApiModelProperty(value = "逝者家属外键", name = "memberId", position = 2)
    private Integer memberId;

    /**
     * 逝者家属记录版本号
     */
    @AnValidate(name = "逝者家属记录版本号", required = true, code = EValidateCode.GREATER_ZERO)
    @ApiModelProperty(value = "逝者家属版本号", name = "memberVersion", position = 3)
    private Long memberVersion;

    /**
     * 火化表ID
     */
    @AnValidate(name = "火化表ID", required = true, code = EValidateCode.GREATER_ZERO)
    @ApiModelProperty(value = "火化表ID", name = "cremationId", position = 4)
    private Integer cremationId;

    /**
     * 火化表Version
     */
    @AnValidate(name = "火化任务版本号", required = true, code = EValidateCode.GREATER_ZERO)
    @ApiModelProperty(value = "火化任务版本号", name = "cremationVersion", position = 5)
    private Long cremationVersion;

    /**
     * 操作类型编码
     */
    @AnValidate(name = "操作类型编码", required = true, code = EValidateCode.NO_LESS_ZERO)
    @ApiModelProperty(value = "操作类型编码", name = "operationTypeCode", position = 6)
    private Integer operationTypeCode;

    /**
     * 操作原因
     */
    @ApiModelProperty(value = "操作原因", name = "operationCause", position = 7)
    private String operationCause;

    /**
     * 原火化证号
     */
    @AnValidate(name = "原火化证号")
    @ApiModelProperty(value = "原火化证号", name = "cremationOldNo", position = 8)
    private String cremationOldNo;

    /**
     * 新火化证号
     */
    @AnValidate(name = "新火化证号", required = true)
    @ApiModelProperty(value = "新火化证号", name = "cremationNewNo", position = 9)
    private String cremationNewNo;

    public String getBusinessCode() {
        return businessCode;
    }

    public CremationCertificatePrintingSaveData setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
        return this;
    }

    public Integer getMemberId() {
        return memberId;
    }

    public CremationCertificatePrintingSaveData setMemberId(Integer memberId) {
        this.memberId = memberId;
        return this;
    }

    public Long getMemberVersion() {
        return memberVersion;
    }

    public CremationCertificatePrintingSaveData setMemberVersion(Long memberVersion) {
        this.memberVersion = memberVersion;
        return this;
    }

    public Integer getCremationId() {
        return cremationId;
    }

    public CremationCertificatePrintingSaveData setCremationId(Integer cremationId) {
        this.cremationId = cremationId;
        return this;
    }

    public Long getCremationVersion() {
        return cremationVersion;
    }

    public CremationCertificatePrintingSaveData setCremationVersion(Long cremationVersion) {
        this.cremationVersion = cremationVersion;
        return this;
    }

    public Integer getOperationTypeCode() {
        return operationTypeCode;
    }

    public CremationCertificatePrintingSaveData setOperationTypeCode(Integer operationTypeCode) {
        this.operationTypeCode = operationTypeCode;
        return this;
    }

    public String getOperationCause() {
        return operationCause;
    }

    public CremationCertificatePrintingSaveData setOperationCause(String operationCause) {
        this.operationCause = operationCause;
        return this;
    }

    public String getCremationOldNo() {
        return cremationOldNo;
    }

    public CremationCertificatePrintingSaveData setCremationOldNo(String cremationOldNo) {
        this.cremationOldNo = cremationOldNo;
        return this;
    }

    public String getCremationNewNo() {
        return cremationNewNo;
    }

    public CremationCertificatePrintingSaveData setCremationNewNo(String cremationNewNo) {
        this.cremationNewNo = cremationNewNo;
        return this;
    }
}
